Encoding ব্যবহার করে ফাইল লেখা এবং পড়া

Java Technologies - অ্যাপাচি কমন্স আইও (Apache Common IO) File Reading এবং Writing |
128
128

Apache Commons IO লাইব্রেরি Java I/O অপারেশনগুলোকে আরও সহজ এবং কার্যকরী করতে সহায়তা করে, এবং এর মধ্যে Encoding সম্পর্কিত কার্যক্রমও রয়েছে। ফাইলের কনটেন্ট পড়া এবং লেখা যখন বিভিন্ন এনকোডিং (encoding) ফরম্যাটে করতে হয়, তখন Apache Commons IO লাইব্রেরির FileUtils এবং IOUtils ক্লাস ব্যবহৃত হয়, যা কোডিং ফরম্যাট নির্দিষ্ট করতে এবং ডেটা ফাইলের মধ্যে সঠিকভাবে ম্যানেজ করতে সাহায্য করে।

ফাইল পড়া এবং লেখা করার সময়, এনকোডিং এমন একটি বিষয় যা বিশেষভাবে গুরুত্বপূর্ণ, কারণ একটি ভুল এনকোডিং ফরম্যাটের কারণে ফাইলের কনটেন্ট সঠিকভাবে রিড বা রাইট হতে পারে না। UTF-8, ISO-8859-1, UTF-16 ইত্যাদি হল সাধারণভাবে ব্যবহৃত এনকোডিং ফরম্যাট। Apache Commons IO লাইব্রেরি আপনাকে এই এনকোডিং ফরম্যাটে ফাইল পড়া এবং লেখা সহজভাবে করার সুযোগ প্রদান করে।


১. ফাইল লেখা (File Writing) with Encoding

FileUtils এবং IOUtils ক্লাসের মাধ্যমে আপনি নির্দিষ্ট encoding ফরম্যাট ব্যবহার করে একটি ফাইলে ডেটা লিখতে পারেন। এখানে UTF-8 এনকোডিং ব্যবহার করে একটি ফাইল তৈরি এবং লেখা হবে।

উদাহরণ: UTF-8 এনকোডিং দিয়ে ফাইল লেখা

import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class FileWritingExample {
    public static void main(String[] args) {
        File file = new File("output.txt");
        
        // Text to write to file
        String content = "Hello, World! This is an example using UTF-8 encoding.";
        
        try {
            // Write string to file with UTF-8 encoding
            FileUtils.writeStringToFile(file, content, StandardCharsets.UTF_8);
            System.out.println("File written successfully with UTF-8 encoding!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে:

  • FileUtils.writeStringToFile() মেথডটি StandardCharsets.UTF_8 এনকোডিং ব্যবহার করে ফাইলে স্ট্রিং ডেটা লিখে।
  • StandardCharsets.UTF_8 এনকোডিং নির্বাচন করা হয়েছে, যা ফাইলের কনটেন্টকে UTF-8 ফরম্যাটে রাইট করে।

২. ফাইল পড়া (File Reading) with Encoding

FileUtils এবং IOUtils ক্লাসের মাধ্যমে নির্দিষ্ট encoding ব্যবহার করে ফাইলের কনটেন্ট পড়তে পারেন। এখানে UTF-8 এনকোডিং ব্যবহার করে একটি ফাইল থেকে ডেটা পড়া হবে।

উদাহরণ: UTF-8 এনকোডিং দিয়ে ফাইল পড়া

import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class FileReadingExample {
    public static void main(String[] args) {
        File file = new File("output.txt");
        
        try {
            // Read file content with UTF-8 encoding
            String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
            System.out.println("File content: " + content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে:

  • FileUtils.readFileToString() মেথডটি StandardCharsets.UTF_8 এনকোডিং ব্যবহার করে ফাইলের কনটেন্ট পড়ে এবং তা একটি স্ট্রিং হিসেবে রিটার্ন করে।

৩. IOUtils দিয়ে ফাইল লেখা এবং পড়া

IOUtils ক্লাসও এনকোডিং ব্যবহার করে ফাইলের কনটেন্ট পড়া এবং লেখা সহজ করে তোলে। এটি প্রধানত স্ট্রিম এবং বড় ডেটা ফাইল ম্যানিপুলেশন করতে ব্যবহৃত হয়, তবে সাধারণ ফাইল অপারেশনেও এটি ব্যবহৃত হতে পারে।

উদাহরণ: IOUtils দিয়ে ফাইল লেখা

import org.apache.commons.io.IOUtils;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class IOUtilsFileWritingExample {
    public static void main(String[] args) {
        String content = "This is a test content written using IOUtils with UTF-8 encoding.";
        
        try (FileWriter writer = new FileWriter("testfile.txt", StandardCharsets.UTF_8)) {
            // Write content to file using IOUtils
            IOUtils.write(content, writer);
            System.out.println("Content written to file using IOUtils!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে:

  • IOUtils.write() মেথডটি FileWriter এর মাধ্যমে ফাইলে কনটেন্ট লিখে এবং UTF-8 এনকোডিং ব্যবহার করা হয়েছে।

উদাহরণ: IOUtils দিয়ে ফাইল পড়া

import org.apache.commons.io.IOUtils;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class IOUtilsFileReadingExample {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("testfile.txt")) {
            // Read content from file using IOUtils with UTF-8 encoding
            String content = IOUtils.toString(fis, StandardCharsets.UTF_8);
            System.out.println("File content: " + content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে:

  • IOUtils.toString() মেথডটি FileInputStream ব্যবহার করে ফাইলের কনটেন্ট পড়ে এবং UTF-8 এনকোডিংয়ে রিটার্ন করে।

৪. অন্য এনকোডিং ফরম্যাট ব্যবহার

এছাড়াও আপনি অন্যান্য এনকোডিং ফরম্যাট যেমন ISO-8859-1, UTF-16, Windows-1252 ইত্যাদি ব্যবহার করতে পারেন ফাইলের কনটেন্ট রিড বা রাইট করার জন্য। নিচে ISO-8859-1 এবং UTF-16 এনকোডিং ব্যবহার করে ফাইল লেখা এবং পড়ার উদাহরণ দেওয়া হল।

উদাহরণ: ISO-8859-1 এনকোডিং দিয়ে ফাইল লেখা

import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class FileWritingWithISOExample {
    public static void main(String[] args) {
        File file = new File("output_iso.txt");
        String content = "Hello, World! Writing with ISO-8859-1 encoding.";
        
        try {
            // Write string to file with ISO-8859-1 encoding
            FileUtils.writeStringToFile(file, content, "ISO-8859-1");
            System.out.println("File written successfully with ISO-8859-1 encoding!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

উদাহরণ: UTF-16 এনকোডিং দিয়ে ফাইল পড়া

import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;

public class FileReadingWithUTF16Example {
    public static void main(String[] args) {
        File file = new File("output_utf16.txt");
        
        try {
            // Read file content with UTF-16 encoding
            String content = FileUtils.readFileToString(file, "UTF-16");
            System.out.println("File content: " + content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

সারাংশ

Apache Commons IO লাইব্রেরির Encoding ফিচার ব্যবহার করে আপনি Java এ ফাইল পড়া এবং লেখা করতে পারেন নির্দিষ্ট encoding ফরম্যাটে, যেমন UTF-8, ISO-8859-1, UTF-16 ইত্যাদি। FileUtils এবং IOUtils ক্লাস ব্যবহৃত হলে, আপনি সহজে এবং কার্যকরীভাবে ফাইলের কনটেন্ট নির্দিষ্ট এনকোডিং ফরম্যাটে রিড এবং রাইট করতে পারবেন। Apache Commons IO লাইব্রেরি Java I/O অপারেশনগুলিকে দ্রুত, নিরাপদ এবং সাশ্রয়ী করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion